package cn.iocoder.yudao.module.cmt.dal.dataobject.person;

import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;

/**
 * 人员信息 DO
 *
 * @author 芋道源码
 */
@TableName("cmt_person_info")
@KeySequence("cmt_person_info_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PersonInfoDO extends BaseDO {

    /**
     * 人员ID
     */
    @TableId
    private Long id;
    /**
     * 社区ID
     */
    private Long communityId;
    /**
     * 关联会员ID(可为空，表示非会员)
     */
    private Long userId;
    /**
     * 与会员关系：0本人 1家人 2朋友 3其他
     */
    private Integer relationType;
    /**
     * 真实姓名
     */
    private String realName;
    /**
     * 身份证号
     */
    private String idCard;
    /**
     * 手机号
     */
    private String phone;
    /**
     * 性别：0未知 1男 2女
     */
    private Integer gender;
    /**
     * 生日
     */
    private Date birthday;
    /**
     * 年龄
     */
    private Integer age;
    /**
     * 学历
     */
    private String education;
    /**
     * 职业
     */
    private String occupation;
    /**
     * 地址
     */
    private String address;
    /**
     * 头像
     */
    private String avatar;
    /**
     * 人员类型：1普通居民 2志愿者 3师资 4社区干部
     */
    private Integer personType;
    /**
     * 志愿者等级：0非志愿者 1一星 2二星 3三星 4四星 5五星
     */
    private Integer volunteerLevel;
    /**
     * 志愿者称号
     */
    private String volunteerTitle;
    /**
     * 累计服务时长(小时)
     */
    private BigDecimal totalServiceHours;
    /**
     * 累计参与活动数
     */
    private Integer totalActivities;
    /**
     * 状态：0停用 1启用
     */
    private Integer status;
    /**
     * 备注
     */
    private String remark;

}
